1. Technical Field
The invention relates to analyzing an electronic circuit described by characterization data, in particular, when an interpolation/approximation function over an analysis interval is formed from the characterization data to analyze the electronic circuit
2. Background Information
In the development of electronic circuits, an important consideration is to check whether the specified functionality conditions are satisfied by the electronic circuit or in parts of the electronic circuit in the various operating points. This means that the designer and the design system, for example a computer aided design (CAD) system, must be provided with the opportunity for access to characterization data of the electronic circuit.
Such characterization data of an electronic circuit typically depends on variables, each variable component representing a desired analysis characteristic of the electronic circuit, for example power input, voltage, current, temperature, input/output state, noise, or other variables. Characterization data of an electronic circuit is data, e.g. voltage, current, temperature, etc. of said electronic circuit, for describing or characterizing said electronic circuit. This characterization data is measured in the electronic circuit within the electronic design automation (EDA) process, or is derived by simulation and used in a subsequent analysis process or in the next development step. Since the volume of the characterization data is very comprehensive for an appropriate reproduction of the characteristics of the electronic circuit, a method is required which is able to characterize the behavior of the electronic circuit as closely as possible to reality by as small a data volume as possible within the shortest possible time. Various conventional methods exist for this purpose which will be briefly outlined in the following.
One variant consists in providing the CAD system with multi-dimensional tables containing the characterization data. However, a large data storage volume may be required.
For example, non-linear delay times in electronic circuits may be recorded as characterization data. The non linear delay model (NLDM), which is a forerunner form of scalable polynomial model (SPM), was developed which, for example, models a cell delay and an output edge as a function of an input edge and an output capacity in a look-up table.
It is possible to reduce the data volume, for example, by representing the characterization data as a function. In this case, multi-dimensional interpolation/approximation polynomials may be used to represent the characterization data, so that then only polynomial coefficients have to be stored for the further processing. To improve the accuracy, polynomials of a higher degree may be selected which, however, these higher order polynomials exhibit greater oscillations between support points and thus the significance of the polynomials with respect to the actual circuit behavior is reduced. Lagrange polynomials in particular generally exhibit considerable oscillations, mainly in the region of interval limits.
According to the description language delay calculation language (DCL) (IEEE 1481), the problem is solved by allowing any functions as base functions and thus the characterization data is reproduced with sufficient accuracy while observing specific characteristics, for example continuity and monotony. However, this is associated with the difficulty of finding suitable base functions, so that this method cannot be automated or can only be automated with difficulty.
According to another possible approach, a compensating spline is initially calculated via the characterization data, where spline is then reduced into portion-wise polynomials according to the procedure in CAD programs. By using splines, a smooth course of an interpolation/approximation function is achieved, even at interfaces between the polynomials defined in portions. In this case, no discontinuity points or kinks appear in the curve, even up to a derivation degree which depends on the degree of the spline. The procedure of this method is outlined in brief with reference to FIG. 4.
Block 401 symbolizes the algorithm entry point and Block 450 symbolizes the algorithm end point. In block 402, as initialization, a complete analysis interval is defined as a subinterval, over which a polynomial is produced. At block 404, data points are then introduced as interval limits which are already present in other variables. At block 406, an interpolation/approximation using third order polynomials is carried out by the method of least squares using weight factors allocated to the data points. Thereafter, at block 408, an interpolation/approximation error is determined, for example by the chi-square method, according to different aspects.
Depending on a subsequent first check in at block 410 as to whether the interpolation/approximation error falls below a predetermined bound, if this is the case, a second check is carried out at block 412 with respect to the reproduction of the monotony behavior of the electronic circuit by the calculated interpolation/approximation function. If the result of the first check at block 410 is negative, the procedure is continued with an equidistant interval division or combination at block 418 in regions of insufficient interpolation/approximation accuracy.
In the event of a negative outcome of the second check at block 412, auxiliary points which are weighted for the interpolation/approximation are introduced at block 414 or weights at existing points are modified. A test is then carried out in a third check at block 416 to ascertain whether the aforementioned measure was successful, and dependent thereon, with a negative outcome, the process is continued with the equidistant interval division or combination at block 418 or, with a positive outcome, the interpolation/approximation is continued at block 406. In the event of interval division or combination at block 418, a verification of a new interval division is then carried out at block 420 and subsequently the interpolation/approximation in 406 is also continued.
The iterative process described hitherto is terminated by the second check at block 412 ending in a positive result, i.e. the previously manually predetermined global monotony behavior of the electrical circuit is reproduced with sufficient accuracy by the interpolation/approximation function. In this case, the polynomial representation is simplified at block 420, the results are converted into a format which may be read by CAD systems (typically a polynomial format, for example the Liberty-SPM format) at block 422 and finally stored at block 424.
All the prior art methods do not adequately reproduce the monotony behavior of the characterization data of the electronic circuit by the interpolation/approximation function of said methods based on an interpolation/approximation method used, which is expressed, for example by oscillations or overshooting and/or undershooting oscillators in the interpolation/approximation function. Consequently, the interpolation/approximation function may have extreme points and inflection points where the actual monotony curve according to the electronic circuit has none, or it does not have any where the actual curve does have some. The previously manually predetermined global monotony behavior is considered using the example of the last mentioned method, although the cost of this is the iterative process, which is possibly intensive in terms of running time, at block 414 for the insertion of auxiliary points or the modification of weight factors to data points which are already present. As a result of the insertion of auxiliary points and due to the potentially large number of subintervals and function coefficients which are to be stored and are connected thereto, the amount of data to be further processed may become very extensive. Moreover, at the start the operator must preset whether the function to be approximated/interpolated is monotonous in respect of a variable. A further restriction is the fact that this pre-setting always applies to the entire (global) functional course. Data points are possibly also removed in order to improve the monotony behavior according to the actual behavior of the electronic circuit.
A wrongly reproduced monotony behavior of the electronic circuit by the interpolation/approximation function results in artifacts which occur in the curve leading to a maloperation in the subsequent programs of the EDA process. For example, the “slew degradation” is wrongly determined if the first derivation of the interpolation/approximation function does not correspond to the actual behavior of the electronic circuit, or it is optimized in wrong directions due to incorrect extreme and inflection points, or the optimization methods of the EDA process start to oscillate and thereby converge to produce an invalid solution.